// import translations from './language-zh';
// export default function customTranslate(template, replacements) {
//     replacements = replacements || {};
//     // Translate
//     template = translations[template] || template;
//     // Replace
//     return template.replace(/{([^}]+)}/g, function(_, key) {
//         return replacements[key] || '{' + key + '}';
//     });
// }

export default function customTranslate(translations) {
  return function (template, replacements) {
    replacements = replacements || {};
    // Translate
    template = translations[template] || template;

    // Replace
    return template.replace(/{([^}]+)}/g, function (_, key) {
      let str = replacements[key];
      if (
        translations[replacements[key]] !== null &&
        translations[replacements[key]] !== undefined
      ) {
        str = translations[replacements[key]];
      }
      return str || "{" + key + "}";
    });
  };
}
